package pers.lonestar.framework.utils.support.analysis.handler;

import org.xml.sax.Attributes;

import pers.lonestar.framework.utils.support.contexts.XlsxReadContext;
import pers.lonestar.framework.utils.support.metadata.read.ReadSheet;

public interface XlsxTagHandler {
    /**
     * Start handle
     *
     * @param xlsxReadContext xlsxReadContext
     * @param readSheet       readSheet
     * @param name            Tag name
     * @param attributes      Tag attributes
     */
    void startElement(XlsxReadContext xlsxReadContext, ReadSheet readSheet, String name, Attributes attributes);

    /**
     * End handle
     *
     * @param xlsxReadContext xlsxReadContext
     * @param readSheet       readSheet
     * @param name            Tag name
     */
    void endElement(XlsxReadContext xlsxReadContext, ReadSheet readSheet, String name);

    /**
     * Read data
     *
     * @param xlsxReadContext xlsxReadContext
     * @param readSheet       readSheet
     * @param ch
     * @param start
     * @param length
     */
    void characters(XlsxReadContext xlsxReadContext, ReadSheet readSheet, char[] ch, int start, int length);

}
